﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using condortravel.operaciones.common;

namespace condortravel.operaciones.persistence.DataModel
{
    public class ManagerConnection
    {

        public static string getConnectionStringDataBase(string dataModel)
        {
            string connection = string.Empty;
            if (dataModel.Equals("BDCondorTOperaciones"))
            {
               connection= getConnectionString(EnumDataModel.BDCondorTOperaciones);              

            }
            
            
            return connection;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dataModel"></param>
        /// <returns></returns>
        //private static string getConnectionString(EnumDataModel dataModel)
        //{

        //    string connection = null;
        //    switch (dataModel)
        //    {

        //        case EnumDataModel.FFUser:
        //            //TODO: this information should be at regedit (don't forget)
        //            //connection = "Data Source=ebtouffw02.bns.bns;Initial Catalog=FF;User ID=ffuser;Password=Nem0"; 
        //            connection = "Data Source=ebtouffw02.bns.bns;Initial Catalog=FF;Integrated Security=SSPI;";
        //            //this.Impersonate = true;
        //            //Impersonation.User = "SocNetworkSVC";
        //            //Impersonation.Domain = "BNS";
        //            //Impersonation.Password = "Victorialand908"; 
        //            break;
        //        case EnumDataModel.Clearspace:
        //            //TODO: this information should be at regedit (don't forget)
        //            connection = "Data Source=ebtouffw02.bns.bns;Initial Catalog=Clearspace1_qat;Integrated Security=SSPI;";
        //            //this.Impersonate = true;
        //            //Impersonation.User = "SocNetworkSVC";
        //            //Impersonation.Domain = "BNS";
        //            //Impersonation.Password = "Victorialand908";
        //            break;
        //        case EnumDataModel.HR:
        //            //TODO: this information should be at regedit (don't forget)
        //            //this.Impersonate = true;
        //            connection = "Data Source=ebtouffw02.bns.bns;Initial Catalog=HrStage;Integrated Security=SSPI;";
        //            //Impersonation.User = "SocNetworkSVC";
        //            //Impersonation.Domain = "BNS";
        //            //Impersonation.Password = "Victorialand908";
        //            break;

        //    }

        //    return connection;
        //    //HttpContext ctx = HttpContext.Current;
        //    //String registry = (String)ctx.Application["RegistroClave"];
        //    //if (registry == null)
        //    //    registry = ConfigurationSettings.AppSettings["RegistroClave"];
        //    //String esCentral = (String)ctx.Application["EsCentral"];
        //    //if (esCentral == null)
        //    //    esCentral = ConfigurationSettings.AppSettings["EsCentral"];
        //    //String resultado = null;

        //    //switch (modeloDatos)
        //    //{
        //    //    case ModeloDatos.Core:
        //    //        if (esCentral.Equals("Y"))
        //    //            resultado = (String)ctx.Session["REGISTRO_CADENACONEXION_SGR_CENTRAL"];
        //    //        else
        //    //            resultado = (String)ctx.Application["CadenaConexionSGR"];
        //    //        break;
        //    //    case ModeloDatos.Seguridad:
        //    //        if (esCentral.Equals("Y"))
        //    //            resultado = (String)ctx.Session["REGISTRO_CADENACONEXION_SEGURIDAD_CENTRAL"];
        //    //        else
        //    //            resultado = (String)ctx.Application["CadenaConexionSeguridad"];
        //    //        break;
        //    //    default:
        //    //        break;
        //    //}

        //    //if (resultado == null)
        //    //{
        //    //    UISeguridad seguridad = new UISeguridad();
        //    //    switch (modeloDatos)
        //    //    {
        //    //        case ModeloDatos.Core:
        //    //            resultado = seguridad.Decrypt(SGRUtil.LeeRegistro(registry, "CadenaConexionSGR"));
        //    //            break;
        //    //        case ModeloDatos.Seguridad:
        //    //            resultado = seguridad.Decrypt(SGRUtil.LeeRegistro(registry, "CadenaConexionSeguridad"));
        //    //            break;
        //    //    }
        //    //}

        //    //return resultado;
        //}
        private static String getConnectionString(EnumDataModel dataModel)
           {               
               HttpContext ctx = HttpContext.Current;
               string connection = null;
               switch (dataModel)
               {

                   case EnumDataModel.BDCondorTOperaciones:
                       //TODO: this information should be at regedit (don't forget)
                       //connection = "Data Source=localhost\\sqlexpress;Initial Catalog=DB_CONDORT_OPERACIONES;User ID=ffuser;Password=Nem0"; 
                       connection = (String)ctx.Application[AppStatic.CONNECTION_REGEDIT_CONDORTOPERACIONES]; //"Data Source=ebtouffw02.bns.bns;Initial Catalog=FF_guillermo;Integrated Security=SSPI;"; 
                       //this.Impersonate = true;
                       //Impersonation.User = "SocNetworkSVC";
                       //Impersonation.Domain = "BNS";
                       //Impersonation.Password = "Victorialand908"; 
                       break;
               }
               //SecurityEncrypt security = new SecurityEncrypt();
               //connection = security.Decrypt(connection);

               return connection;
               //HttpContext ctx = HttpContext.Current;
               //String registry = (String)ctx.Application["RegistroClave"];
               //if (registry == null)
               //    registry = ConfigurationSettings.AppSettings["RegistroClave"];
               //String esCentral = (String)ctx.Application["EsCentral"];
               //if (esCentral == null)
               //    esCentral = ConfigurationSettings.AppSettings["EsCentral"];
               //String resultado = null;

               //switch (modeloDatos)
               //{
               //    case ModeloDatos.Core:
               //        if (esCentral.Equals("Y"))
               //            resultado = (String)ctx.Session["REGISTRO_CADENACONEXION_SGR_CENTRAL"];
               //        else
               //            resultado = (String)ctx.Application["CadenaConexionSGR"];
               //        break;
               //    case ModeloDatos.Seguridad:
               //        if (esCentral.Equals("Y"))
               //            resultado = (String)ctx.Session["REGISTRO_CADENACONEXION_SEGURIDAD_CENTRAL"];
               //        else
               //            resultado = (String)ctx.Application["CadenaConexionSeguridad"];
               //        break;
               //    default:
               //        break;
               //}

               //if (resultado == null)
               //{
               //    UISeguridad seguridad = new UISeguridad();
               //    switch (modeloDatos)
               //    {
               //        case ModeloDatos.Core:
               //            resultado = seguridad.Decrypt(SGRUtil.LeeRegistro(registry, "CadenaConexionSGR"));
               //            break;
               //        case ModeloDatos.Seguridad:
               //            resultado = seguridad.Decrypt(SGRUtil.LeeRegistro(registry, "CadenaConexionSeguridad"));
               //            break;
               //    }
               //}

               //return resultado;
           }

    }
}
